package com.wongoing.api.wechat.pub.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 功能说明：菜单参数实体类 修改说明：
 * 
 * @author zhenglibing
 * @date 2018年1月8日 下午3:14:54
 * @version 0.1
 */
public class MenuParam implements Serializable {

	private List<Menu> button = new ArrayList<Menu>();

	public List<Menu> getButton() {
		return button;
	}

	public void setButton(List<Menu> button) {
		this.button = button;
	}

	/**
	 * 功能说明：向菜单参数中添加一个菜单项对象
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2018年1月8日 下午3:17:58
	 * @param menu 要添加的菜单对象
	 */
	public void add(Menu menu) {
		if (this.button == null) {
			this.button = new ArrayList<Menu>();
		}
		this.button.add(menu);
	}
	
	/**
	 * 功能说明：移除菜单参数中的某个菜单对象
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2018年1月8日 下午3:18:15
	 * @param menu 要移除的菜单对象
	 */
	public void remove(Menu menu) {
		if (this.button != null) {
			this.button.remove(menu);
		}
	}
	
	/**
	 * 功能说明：
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2018年1月8日 下午3:18:30
	 */
	public void clear() {
		if (this.button != null) {
			this.button.clear();
		}
	}
	
	/**
	 * 功能说明：获取菜单参数对应的JSON字符串
	 * 修改说明：
	 * @author zhenglibing
	 * @date 2018年1月8日 下午4:54:21
	 * @return 返回对应的JSON字符串
	 */
	public String toJsonString() {
		StringBuffer sb = new StringBuffer();
        sb.append("{");
        sb.append("\"button\":[");
        if (null != this.button && this.button.size() > 0)
        {
            for (int i = 0; i < this.button.size(); i++)
            {
                if (i > 0)
                {
                    sb.append(",");
                }
                sb.append(this.button.get(i).toJsonString());
            }
        }
        sb.append("]");
        sb.append("}");
        return sb.toString();
	}
}
